package com.clive.xxweb.service.impl;


import com.clive.xxweb.constant.DishConstant;
import com.clive.xxweb.service.UploaderService;
import com.clive.xxweb.utils.ImageUtils;
import com.clive.xxweb.vo.DishResult;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

@Service
public class UploaderServiceImpl implements UploaderService {
    @Override
    public DishResult dishPicUploader(MultipartFile file) {
//        图片原来的名字  hdb.jpg
        String oldFileName = file.getOriginalFilename();
//        得到图片全新的名字  jcfaidsvcjni.jpg
        String newFileName = ImageUtils.getImageName(file.getOriginalFilename());

//        他是一个文件对象
        Date date = new Date();
//        转换时间格式
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//        当前日期的字符串
      String folder = format.format(date);
//        "D:\\pic\2021-12-06(folder)\xxxx.jpg
        File folderFile = new File(DishConstant.NGINXHOST,folder);
//        如果图片路径不存在
        if(!folderFile.exists()){
//            创建一个文件夹
            folderFile.mkdir();
        }
        try {
//            把图片写到D盘
            file.transferTo(new File(folderFile,newFileName));
//            http://localhost/D://pic/xxx.jpg
//            页面显示上传的图片  需要图片url地址和图片路径
           return DishResult.ok().data("imgPath",DishConstant.HOST+folder+"/"+newFileName).data("oldFile",oldFileName);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return DishResult.error("上传图片失败");
    }
}
